#include <iostream>

using namespace std;
// 258.各位相加
// 给定一个非负整数 num，反复将各个位上的数字相加，直到结果为一位数。返回这个结果。

class Solution {
public:
    int addDigits(int num) {
        while(num > 9) {
            int ans = 0;
            while(num) {
                ans += num % 10;
                num /= 10;
            }
            num = ans;
        }
        return num;
        /**
        int sum = 0;
        do {
            sum = 0;
            while(num > 0) {
                int digit = num % 10;
                sum += digit;
                num /= 10;
            }
            num = sum;
        } while(sum >= 10); // 注意这里是大于等于10
        return sum;
        */
    }
};
int main() {
    cout << Solution().addDigits(38) << endl;
    cout << Solution().addDigits(0) << endl;
    return 0;
}
